<html>
 <head>
  <meta charset="UTF-8">
 </head>
 <body>
  <h1 data-lake-id="nE0ig" id="nE0ig"><span data-lake-id="u35c06fca" id="u35c06fca">典型回答</span></h1>
  <p data-lake-id="u8a9528d0" id="u8a9528d0"><span data-lake-id="ucac88e17" id="ucac88e17">Netty作为一个高性能的网络通信框架，性能是他重要优势，Netty中主要做了以下事情来全方面的提升Netty的性能：</span></p>
  <p data-lake-id="uc23ede84" id="uc23ede84"><span data-lake-id="u6fe329ab" id="u6fe329ab">​</span><br></p>
  <ul list="ub9681125">
   <li fid="u12cfedec" data-lake-id="u5c35e944" id="u5c35e944"><strong><span data-lake-id="u2bfc288a" id="u2bfc288a">非阻塞IO模型</span></strong><span data-lake-id="ua2377f03" id="ua2377f03">：Netty采用了IO多路复用技术，让多个IO的阻塞复用到一个select线程阻塞上，能够有效的应对大量的并发请求</span></li>
   <li fid="u12cfedec" data-lake-id="u3d7ba675" id="u3d7ba675"><strong><span data-lake-id="u765fb98c" id="u765fb98c">高效的Reactor线程模型</span></strong><span data-lake-id="u01973f7d" id="u01973f7d">：支持多种Reactor线程模型，可以根据业务场景的性能诉求，自行选择</span></li>
   <li fid="u12cfedec" data-lake-id="u290888b7" id="u290888b7"><strong><span data-lake-id="u3957b57a" id="u3957b57a">零拷贝</span></strong><span data-lake-id="u3fa45189" id="u3fa45189">：尽量做到不必要的内存拷贝</span></li>
   <li fid="u12cfedec" data-lake-id="ub7ce2e55" id="ub7ce2e55"><strong><span data-lake-id="u8c79e2d2" id="u8c79e2d2">内存池设计</span></strong><span data-lake-id="u5698d018" id="u5698d018">：使用直接内存，并且可重复利用</span></li>
   <li fid="u12cfedec" data-lake-id="ubd3c5c5b" id="ubd3c5c5b"><strong><span data-lake-id="u2bfb183c" id="u2bfb183c">无锁串行化设计</span></strong><span data-lake-id="u5e80e4ce" id="u5e80e4ce">：避免使用锁带来的额外开销</span></li>
   <li fid="u12cfedec" data-lake-id="ud31a2859" id="ud31a2859"><strong><span data-lake-id="ua4da97f4" id="ua4da97f4">高性能序列化协议</span></strong><span data-lake-id="u5353c07d" id="u5353c07d">：支持 protobuf 等高性能序列化协议</span></li>
  </ul>
 </body>
</html>